事务与存储过程
1、事务管理
保证同一个事务的操作具有同步性。
严格遵守4个特性：
原子性 ：一个事务必须视为不可分割的最小工作单元。
一致性：事务将数据库的一种状态转变成下一种状态。
持久性：一旦提交永久保存到数据库。
隔离性：也称并发控制，可串行化，锁等，多用户访问时，为每个用户开启一个事务，互不干扰。
开启事务：start transaction；
提交事务：commit；提交事务后，数据库数据才发生改变。
回滚事务：rollback；不想提交事务可以取消相关事务（也称回滚）
2、事物的隔离级别
1、read uncommitted（读未提交）事务中最低级别，可以读取未提交的数据，也称脏读。危险少用。
2、read commited（读提交）大多数数据库默认隔离级别，只能读取已经提交的内容。但无法避免重复读和幻读。
3、repeatable read（可重复读）Mysql默认事务隔离级别。可避免不可重复度和脏读的问题，确保同一个事务的多个实例在并发读取数据时，会看到同样的数据。
4、serializable（可串行化）事务的最高隔离级别。他它对强行对事务进行排序，使之不会发生冲突，实际上是在每个读的数据行前加个锁，这种级别可能导致大量的超时现象和锁竞争。
脏读：指事务读取了另一个事务未提交的数据。
不可重复度：事务中两次查询的数据不一致，原因是在查询过程中其他事务做了更新操作。
幻读：一次事务查询中数据的条数不一致。
可串行化：在每个读的数据行前加上锁，使之不可相互冲突，因此会造成大量超时现象。